package com.txzt.gaea.business.project.service;

import com.txzt.gaea.business.project.domain.model.ProjectInfo;
import com.txzt.gaea.business.project.domain.vo.ProjectInfoVo;
import com.txzt.gaea.common.base.service.BaseService;

import java.util.List;
import java.util.Map;

public interface IProjectInfoService extends BaseService<ProjectInfo> {


    public List<Map> statisticsProjectInfo();

    Map<String,Object> getProjectNum();

    /**
     * id查询
     * @param id
     * @return
     */
    public ProjectInfo selectProjectInfoById(Long id);

    /**
     * 项目编号查询
     * @param projectNo
     * @return
     */
    ProjectInfo selectProjectInfoByNo(String projectNo);

    /**
     * id查询
     * @param planId
     * @return
     */
    public ProjectInfo selectProjectInfoByPlanId(Long planId);

    /**
     * 新增项目（不忽略为null的属性）
     * @param projectInfo
     * @return
     */
    public int insertProjectInfo(ProjectInfo projectInfo);

    /**
     * 开题申请
     * @param projectInfoVo
     * @return
     */
    public int openProjectInfo(ProjectInfoVo projectInfoVo);


    /**
     * 延期申请
     * @param projectInfoVo
     * @return
     */
    public int delayProjectInfo(ProjectInfoVo projectInfoVo);

    /**
     * 中止申请
     * @param projectInfoVo
     * @return
     */
    public int stopProjectInfo(ProjectInfoVo projectInfoVo);

    /**
     * 结题申请
     * @param projectInfoVo
     * @return
     */
    public int finishProjectInfo(ProjectInfoVo projectInfoVo);

}